home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 731 / gadtoolsbox / oberon / fadaptpaltest.mod < prev    next >
Text File  |  1995-03-18  |  1KB  |  50 lines

  1. MODULE FAdaptPALTest;
  2.  
  3. (*** example event-loop for GadTools-GUIs (created with GadToolsBox) ***)
  4.  
  5. IMPORT
  6.   e: Exec, d: Dos, I: Intuition, gt: GadTools, rt: ReqTools, fap: FAdaptPAL;
  7.  
  8. VAR
  9.   quit: BOOLEAN;
  10.  
  11. PROCEDURE HandleProject0(): BOOLEAN;
  12. VAR
  13.   imsgptr: I.IntuiMessagePtr;
  14.   imsg: I.IntuiMessage;
  15.   item: I.MenuItemPtr;
  16.   done: BOOLEAN;
  17. BEGIN
  18.   done := FALSE;
  19.   LOOP
  20.     imsgptr := gt.GetIMsg (fap.Project0Wnd.userPort);
  21.     IF imsgptr = NIL THEN EXIT END;
  22.     imsg := imsgptr^;
  23.     gt.ReplyIMsg (imsgptr);
  24.  
  25.     IF (I.closeWindow IN imsg.class) THEN
  26.       done := TRUE;
  27.     END;
  28.     IF (I.refreshWindow IN imsg.class) THEN
  29.       gt.BeginRefresh (fap.Project0Wnd);
  30.       fap.Project0Render;
  31.       gt.EndRefresh (fap.Project0Wnd, I.LTRUE);
  32.     END;
  33.   END; (* LOOP *)
  34.   RETURN done;
  35. END HandleProject0;
  36.  
  37. BEGIN
  38.   rt.Assert (fap.SetupScreen() = 0, "Unable to open screen!");
  39.   rt.Assert (fap.OpenProject0Window() = 0, "Unable to open project window #0");
  40.   quit := FALSE;
  41.   REPEAT
  42.     quit := (d.ctrlC IN e.Wait (LONGSET {fap.Project0Wnd.userPort.sigBit,
  43.                                          d.ctrlC}));
  44.     quit := quit OR HandleProject0();
  45.   UNTIL quit;
  46. CLOSE
  47.   fap.CloseProject0Window;
  48.   fap.CloseDownScreen;
  49. END FAdaptPALTest.
  50.